
 # 
 #  Put any site specific configuration in a config/local.php file, this way
 #  your configuration won't be lost when upgrading app.
 #  
 #  in local.php you only have to specificy the fields you want to overwrite
 #  with other values, for example on a production system you would probably have:
 #  $shindigConfig = array(
 #  	'debug' : false,
 #  	'allow_plaintext_token' : false,
 #  	'token_cipher_key' : 'MySecretKey',
 #  	'token_hmac_key' : 'MyOtherSecret',
 #  	'private_key_phrase' : 'MyCertificatePassword',
 #  	'people_service' : 'MyPeopleService',
 #  	'activity_service' : 'MyActivitiesService',
 #  	'app_data_service' : 'MyAppDataService',
 #  	'messages_service' : 'MyMessagesDataService'
 #  );
 #   
 # /

class ConfigContainer:
	import os;
	from src.gadgets.sample import BasicGadgetBlacklist;
	from src.common.sample import BasicRemoteContent;
	from src.common import CacheFile, CacheMemcache;
	from src.common.sample import BasicSecurityTokenDecoder;
	from src.social.sample import JsonDbOpensocialService;
	
	shindigConfig = {
		# Show debug backtrace's. Disable this on a production site
		'debug' : True,
		# Allow plain text security tokens, this is only here to allow the sample files to work. Disable on a production site
		'allow_plaintext_token' : True,
		# Compress the inlined javascript, saves upto 50% of the document size
		'compress_javascript' : True, 

		# The URL Prefix under which app lives ie if you have http://myhost.com/app/php set web_prefix to /app/php
		'web_prefix' : '', 
		# If you changed the web prefix, add the prefix to these too
		'default_js_prefix' : '/gadgets/js/', 
		'default_iframe_prefix' : '/gadgets/ifr?', 
		
		# The encryption keys for encrypting the security token, and the expiration of it. Make sure these match the keys used in your container/site
		'token_cipher_key' : 'INSECURE_DEFAULT_KEY',
		'token_hmac_key' : 'INSECURE_DEFAULT_KEY', 
		'token_max_age' : 60 *  60, 
		 
		# Ability to customize the style thats injected into the gadget document. Don't forget to put the link/etc colors in app/config/container.js too!
		'gadget_css' : 'body,td,div,span,p{font-family:arial,sans-serif;} a {color:#0000cc;}a:visited {color:#551a8b;}a:active {color:#ff0000;}body{margin: 0px;padding: 0px;background-color:white;}',
		
		# P3P privacy policy to use for the iframe document
		'P3P' : 'CP="CAO PSA OUR"', 
		
		# The locations of the various required components on disk. If you did a normal svn checkout there's no need to change these
		
		'base_path' : os.path.realpath(os.path.dirname(__file__)+'/..') + '/',
		'features_path' : os.path.realpath(os.path.dirname(__file__) + '/../features')+'/',
		# This dir is out of the web app, and config is diff from standard config
		'container_path' : os.path.realpath(os.path.dirname(__file__) + '/../config')+'/',
		'javascript_path' : os.path.realpath(os.path.dirname(__file__) + '/../javascript')+'/',

		# The OAuth SSL certificates to use, and the pass phrase for the private key  
		'private_key_file' : os.path.realpath(os.path.dirname(__file__) + '/../certs')+'/private.key', 
		'public_key_file' : os.path.realpath(os.path.dirname(__file__) + '/../certs')+'/public.crt', 
		'private_key_phrase' : 'partuza', 
		'jsondb_path' : os.path.realpath(os.path.dirname(__file__) + '/../javascript/sampledata')+'/canonicaldb.json',

		# Force these libraries to be external (included through <script src="..."> tags), this way they could be cached by the browser
		'focedJsLibs' : None, 

		# Configurable classes. Change these to the class name to use, and make sure the auto-loader can find them
		
		'blacklist_class' : BasicGadgetBlacklist, 
		'remote_content' : BasicRemoteContent, 
		'security_token_signer' : BasicSecurityTokenDecoder, 
		'security_token' : 'BasicSecurityToken', 
		# Caching back-end to use. App ships with CacheFile and CacheMemcache out of the box
		'data_cache' : CacheMemcache,
		# Old-style wire format data handler, this is being depreciated 
		'handlers' : '',
		# New RESTful API data service classes to use
		'people_service' : JsonDbOpensocialService,
		'activity_service' : JsonDbOpensocialService,
		'app_data_service' : JsonDbOpensocialService,
		'messages_service' : JsonDbOpensocialService,
		# Also scan these directories when looking for <Class>.php files. You can include multiple paths by seperating them with a , 
		'extension_class_paths' : '',
		
		'userpref_param_prefix' : 'up_',
		'libs_param_name' : 'libs', 

		# If you use CacheMemcache as caching backend, change these to the memcache server settings
		'cache_host' : 'localhost',
		'cache_port' : 11211, 	
		'cache_time' : 24 *  60 *  60,
		# If you use CacheFile as caching backend, this is the directory where it stores the temporary files
		'cache_root' : 'c:/tmp/shindig', 

		# If your development server is behind a proxy, enter the proxy details here in 'proxy.host.com:port' format.
		'proxy' : '',

		'cache_objects' : False,
		'cache_text' : True,
		};